esc to dismiss
rechercher Rechercher
x

Créer une API

Les smartflows peuvent être utilisés indépendamment de Vision pour constituer une API.

Les connecteurs permettent de regrouper plusieurs smartflows dans un répertoire, ils permettent également de partager des paramètres (clés / valeurs) communs aux différents smartflows.

Pour créer une API, il faut donc créer le connecteur et lui associer autant de smartflows qu'il y aura de routes à exposer.

Une fois les smartflows créés, il faudra configurer les signatures des routes.

Rappel

Les smartflows créés pour de l'usage interne exposent également une route, le mécanisme de création reste le même.

Les connecteurs

Pour créer un connecteur, il suffit de faire un clic droit sur l'onglet Connecteurs situé dans l'onglet APIsation de l'explorateur du Studio et choisir l'option Ajouter un connecteur.

Une fois le connecteur créé, il est possible d'y ajouter des smartflows (clic droit sur le connecteur et choisir Ajouter un smartflow).

Paramètres du connecteur

Il est également possible d'éditer les paramètres du connecteur qui seront présents dans tous les smartflows associés (clic droit sur le connecteur et choisir Editer les paramètres).

Mots de passe

Dans cette même section, il est possible de créer des secrets (mots de passe pour se connecter à des API ou à une base de données).

Important

Les mots de passe seront chiffrés en base de données. il est fortement conseillés de stocker tous les mots de passe dans cette section.

Utilisation dans les smartflows

Signature de la route

Pour exposer la route, certains paramètres doivent être renseignés, ces paramètres sont présents dans l'onglet Inspecteur du smartflow.

URL, Verbe et Paramètre de PATH

Le paramétrage de l'URL contient 3 parties:

  • Le Nom de la route qui sera présente après l'URL du serveur
  • Le Verbe (GET / POST / PUT / PATH / DELETE) pour paramétrer la méthode HTTP.
  • Les paramètres de path qui permettront de venir compléter le path de l'URL avec des valeurs dynamiques, ces paramètres seront exploitables dans le smartflow.
    `
    Example

    curl --location 'url/api/connectors/Lister_les_voitures/Tesla'

Paramètres de requête

Les paramètres de requête permettront de venir compléter l'URL avec des valeurs dynamiques, ces paramètres seront exploitable dans le smartflow.

Example

curl --location 'url/api/connectors/Lister_les_voitures/Tesla?output=voiture'

Body

Le body va permettre de renseigner le corps de la requête.
Il peut être composé de différentes manières.

Body avec un seul objet

Permet d'injecter un objet (de type Smart Object).

Example

curl --location 'url/api/connectors/Creer_une_voiture' \ --header 'Content-Type: application/json' \ --data '{ "Nom": "Tesla" }'

Body avec plusieurs variables

Permet d'injecter un objet composé dynamiquement par un système de clés / valeurs

Example

curl --location 'url/api/connectors/Creer_une_voiture' \ --header 'Content-Type: application/json' \ --data '{ "Nom": "Tesla", "VerifierDoublon": true }'

body avec variables form-data

Permet d'uploader un fichier et exploiter ce fichier dans le smartflow.

Example

curl --location 'url/api/connectors/Importer_des_voitures' \ --form 'csv=@"/home/user/Bureau/voitures.csv"'

Headers

Les headers vont permettre de renseigner l'en-tête de la requête via un système de clés / valeurs.
Ces valeurs seront accessibles dans le smartflow.

Example

curl --location 'url/api/connectors/Lister_mes_voitures' \ --header 'UserID: cb775aae-dd85-4b8b-8ca6-e6576fdb5d4a'

Authentifications et autorisations

Il existe deux façons de sécuriser les routes.

Utiliser l'authentification intégrée avec JWT

Cette méthode utilise le système d'authentification interne à Vision KeyCloak, un jeton devra être injecté dans les headers de la requête, jeton récupéré via la route d'authentification.

Il est possible de restreindre les autorisations avec les groupes de sécurité.

Example

Appel de la route d'authentification KeyCloak

Appel de la route avec injection du jwt dans les headers

curl --location 'url/api/connectors/Lister_les_voitures/Tesla' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJCbzA2dTVPV004MmViaFM5N2lZVGRWbXpvOW5RVS04aX...

Utiliser l'authentification webhook

Cette méthode permet de bypasser le système d'authentification interne à Vision et de sécuriser la route via l'injection d'un token dans les headers qui sera définie directement dans le smartflow.

Example

Appel de la route avec injection du token dans les headers

curl --location 'url/api/connectors/Lister_les_voitures/Tesla' \ --header 'X-API-TOKEN: token_value'

x